/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package DAO;

import Conexion.Conexion;
import VO.docente;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;

/**
 *
 * @author JesseniaJL
 */
public class DocenteDAO {

    Conexion con;

    public DocenteDAO() throws Exception {
        con = new Conexion();
        con.ConexionPostgres();
    }

    public void registrar_docente(String documento_docente, String primer_nombre_docente,
            String segundo_nombre_docente, String primer_apellido_docente, String segundo_apellido_docente,
            String direccion_docente, String telefono_docente, String sexo_docente, String fecha_nacimiento_docente,
            String correo_docente, String password_docente, String municipio_nacimiento, String id_municipio,
            String id_tipo_documento, String id_rol) throws Exception // CREAR DOCENTE
    {
        String msj = "";

        int id_ro = Integer.parseInt(id_rol);
        int id_municipi = Integer.parseInt(id_municipio);
        int id_tipo_document = Integer.parseInt(id_tipo_documento);

        SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
        java.util.Date fecha = sdf.parse(fecha_nacimiento_docente);
        System.out.println("pri: " + fecha);

        
        String sql = "select * from docente where documento_docente='" + documento_docente + "'";

        ResultSet rs = con.consultar(sql);

        if (!rs.next()) {

            String consulta = "INSERT INTO docente( documento_docente, primer_nombre_docente, "
                    + "segundo_nombre_docente, primer_apellido_docente, segundo_apellido_docente, "
                    + "direccion_docente, telefono_docente, sexo_docente, fecha_nacimiento_docente,"
                    + " correo_docente, password_docente, municipio_nacimiento, id_municipio,"
                    + "id_tipo_documento, id_rol)"
                    + "values('" + documento_docente + "','" + primer_nombre_docente
                    + "','" + segundo_nombre_docente + "','" + primer_apellido_docente + "','" + segundo_apellido_docente
                    + "','" + direccion_docente + "','" + telefono_docente + "','" + sexo_docente + "','" + fecha
                    + "','" + correo_docente + "','" + password_docente + "','" + municipio_nacimiento + "','" + id_municipi
                    + "','" + id_tipo_document + "','" + id_ro + "')";
            con.actualizar(consulta);
            msj = "DOCENTE CREADO";
        } else {
            msj = "YA EXISTE UN DOCENTE CON ESTE DOCUMENTO";
        }
        System.out.println(msj);
    }

    public ArrayList Consultar_Docente(String cod) throws SQLException, ParseException {
        ArrayList lista = new ArrayList();
        docente doc = null;

        String query = "select * from docente where documento_docente='" + cod + "'";

        ResultSet rsu = con.consultar(query);
        while (rsu.next()) {
            doc = new docente();

            doc.setid_docente(rsu.getString("id_docente"));
            doc.setdocumento_docente(rsu.getString("documento_docente"));            
            doc.setprimer_nombre_docente(rsu.getString("primer_nombre_docente"));
            doc.setsegundo_nombre_docente(rsu.getString("segundo_nombre_docente"));
            doc.setprimer_apellido_docente(rsu.getString("primer_apellido_docente"));
            doc.setsegundo_apellido_docente(rsu.getString("segundo_apellido_docente"));            
            doc.setdireccion_docente(rsu.getString("direccion_docente"));
            doc.settelefono_docente(rsu.getString("telefono_docente"));
            doc.setsexo_docente(rsu.getString("sexo_docente"));
            doc.setfecha_nacimiento_docente(rsu.getString("fecha_nacimiento_docente"));
            doc.setcorreo_docente(rsu.getString("correo_docente"));
            doc.setpassword_docente(rsu.getString("password_docente"));
            doc.setmunicipio_nacimiento(rsu.getString("municipio_nacimiento"));
            doc.setid_municipio(rsu.getString("id_municipio"));
            doc.setid_tipo_documento(rsu.getString("id_tipo_documento"));
            doc.setid_rol(rsu.getString("id_rol"));
            doc.setestado(rsu.getString("estado"));

            lista.add(doc);

        }
        return lista;
    }

    public ArrayList Consultar_Docente() throws SQLException, ParseException {
        ArrayList lista = new ArrayList();
        docente doc = null;
        
        String query = "SELECT *  FROM docente order by id_docente ASC";

        ResultSet rsu = con.consultar(query);
        while (rsu.next()) {
            doc = new docente();

            doc.setid_docente(rsu.getString("id_docente"));
            doc.setdocumento_docente(rsu.getString("documento_docente"));            
            doc.setprimer_nombre_docente(rsu.getString("primer_nombre_docente"));
            doc.setsegundo_nombre_docente(rsu.getString("segundo_nombre_docente"));
            doc.setprimer_apellido_docente(rsu.getString("primer_apellido_docente"));
            doc.setsegundo_apellido_docente(rsu.getString("segundo_apellido_docente"));            
            doc.setdireccion_docente(rsu.getString("direccion_docente"));
            doc.settelefono_docente(rsu.getString("telefono_docente"));
            doc.setsexo_docente(rsu.getString("sexo_docente"));
            doc.setfecha_nacimiento_docente(rsu.getString("fecha_nacimiento_docente"));
            doc.setcorreo_docente(rsu.getString("correo_docente"));
            doc.setpassword_docente(rsu.getString("password_docente"));
            doc.setmunicipio_nacimiento(rsu.getString("municipio_nacimiento"));
            doc.setid_municipio(rsu.getString("id_municipio"));
            doc.setid_tipo_documento(rsu.getString("id_tipo_documento"));
            doc.setid_rol(rsu.getString("id_rol"));
            doc.setestado(rsu.getString("estado"));

            lista.add(doc);

        }
        return lista;
    }
    
    public ArrayList Login_docente(String documento_docente,String password_docente) throws SQLException, ParseException
    {
        ArrayList lista = new ArrayList();
        docente doc = null;
        
        String query = "SELECT *  FROM docente WHERE documento_docente= '"+documento_docente+"'  AND password_docente='"+password_docente+"' LIMIT 1";

        ResultSet rsu = con.consultar(query);
        while (rsu.next()) 
        {
                doc = new docente();
                
                doc.setid_docente(rsu.getString("id_docente"));
                doc.setdocumento_docente(rsu.getString("documento_docente"));
                //est.setnombre_acudiente(rsu.getString("nombre_acudiente"));
                doc.setprimer_nombre_docente(rsu.getString("primer_nombre_docente"));
                doc.setsegundo_nombre_docente(rsu.getString("segundo_nombre_docente"));
                doc.setprimer_apellido_docente(rsu.getString("primer_apellido_docente"));
                doc.setsegundo_apellido_docente(rsu.getString("segundo_apellido_docente"));
                doc.setdireccion_docente(rsu.getString("direccion_docente"));
                doc.settelefono_docente(rsu.getString("telefono_docente"));
                doc.setsexo_docente(rsu.getString("sexo_docente"));
                doc.setfecha_nacimiento_docente(rsu.getString("fecha_nacimiento_docente"));
                doc.setcorreo_docente(rsu.getString("correo_docente"));
                doc.setpassword_docente(rsu.getString("password_docente"));
                doc.setmunicipio_nacimiento(rsu.getString("municipio_nacimiento"));
                doc.setid_municipio(rsu.getString("id_municipio"));
                doc.setid_tipo_documento(rsu.getString("id_tipo_documento"));
                doc.setid_rol(rsu.getString("id_rol"));
                doc.setestado(rsu.getString("estado"));
                //est.setid_grupo(rsu.getString("id_grupo"));

                lista.add(doc);

         }
        return lista;
    }
    
    
    
    
    
}
